Skip to content

Benchmark scalar functions on production-sized inputs - #9729

Closed
connortsui20 wants to merge 1 commit into
developfrom
ct/production-sized-scalar-benchmarks
Closed

Benchmark scalar functions on production-sized inputs#9729
connortsui20 wants to merge 1 commit into
developfrom
ct/production-sized-scalar-benchmarks

Conversation

@connortsui20

@connortsui20 connortsui20 commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

Increases fixed-width scalar function benchmark inputs to the smaller of the default 1 MiB writer block and 100,000-row scan split. This makes the hot loop a larger part of each measurement while keeping the inputs representative of scan execution.

Changes

Adds a shared fixed-width sizing helper and applies it to the primitive binary operation and comparison benchmarks. The resulting cases remain well below 1 ms on CI and locally on my macbook m4 max.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
connortsui20 force-pushed the ct/production-sized-scalar-benchmarks branch from 02e9a11 to 931b4b1 Compare September 2, 2026 14:40
@codspeed-hq

codspeed-hq Bot commented Sep 2, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 79.29%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 68 regressed benchmarks
✅ 2008 untouched benchmarks
🆕 18 new benchmarks
⏩ 224 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime add_i64_nonnull_avx512 6.8 µs 76 µs -91%
WallTime add_i64_nonnull_avx2 7.9 µs 87.5 µs -90.93%
WallTime add_i64_nullable_avx512 8.4 µs 84.6 µs -90.09%
WallTime compare_float_avx2 5.1 µs 51.1 µs -90.06%
WallTime add_i64_nullable_avx2 9.3 µs 89.8 µs -89.68%
WallTime compare_float_neon 8 µs 75.4 µs -89.35%
WallTime lt_i64_nullable_avx2 3 µs 25.9 µs -88.61%
WallTime lt_i64_nullable_neon 3.6 µs 31.1 µs -88.58%
WallTime compare_f32_avx2 4.6 µs 39.1 µs -88.25%
WallTime lt_i64_nullable_avx512 2.9 µs 24.3 µs -88.24%
WallTime compare_f32_neon 5.3 µs 41.5 µs -87.14%
WallTime compare_u8_neon 3.7 µs 28.4 µs -87.07%
WallTime compare_f32_avx512 3.6 µs 27.2 µs -86.95%
WallTime compare_int_eq_avx2 3.5 µs 26.2 µs -86.77%
WallTime compare_int_avx512 3.1 µs 23 µs -86.67%
WallTime compare_int_eq_avx512 3.1 µs 23 µs -86.59%
WallTime compare_u64_avx512 3.1 µs 22.7 µs -86.52%
WallTime compare_float_avx512 4.1 µs 30.3 µs -86.43%
WallTime compare_int_avx2 3.5 µs 25.5 µs -86.42%
WallTime compare_u64_avx2 3.9 µs 28 µs -85.99%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ct/production-sized-scalar-benchmarks (931b4b1) with develop (aaed723)

Open in CodSpeed

Footnotes

  1. 224 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@connortsui20

Copy link
Copy Markdown
Member Author

Seems like we need to discuss more about the state of our benchmarking so I'm closing this for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant